﻿// Labeling Balls POJ - 3687.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>


/*
https://vjudge.net/problem/POJ-3687

风有 N 个重量从 1 个单位到 N 个单位不同的球。现在，他试图给这些球贴上从 1 到 N 的标签，以便

没有两个球有相同的标签。
这个标签满足几个约束条件，比如 "标有 a 的球比标有 b 的球轻"。
你能帮助 windy 找到解决方案吗？

输入
输入的第一行是测试用例的数量。每个测试用例的第一行包含两个整数 N（1 ≤ N ≤ 200）和 M（0 ≤ M ≤ 40,000）。
接下来的 M 行分别包含两个整数 a 和 b，表示标有 a 的球必须比标有 b 的球轻（1 ≤ a, b ≤ N），每个测试用例前都有一行空白。

输出
对于每个测试用例，在一行中输出从标号 1 到标号 N 的球的权重。如果存在多个解，应输出标号 1 权重最小的那个，
然后输出标号 2 权重最小的那个，然后输出标号 3 权重最小的那个，以此类推... 如果没有解决方案，则输出-1。

5

4 0

4 1
1 1

4 2
1 2
2 1

4 1
2 1

4 1
3 2

//===============

1 2 3 4
-1
-1
2 1 3 4
1 3 2 4

*/
int main()
{
    std::cout << "Hello World!\n";
}

 